package cn.org.xiaoweiba.graduationdesign.bookmall.service;

import cn.org.xiaoweiba.graduationdesign.bookmall.dto.result.BaseResponseResult;
import cn.org.xiaoweiba.graduationdesign.bookmall.vo.UserLoginInfoByMailVo;
import cn.org.xiaoweiba.graduationdesign.bookmall.vo.UserLoginInfoVo;

/**
 * 登录业务层接口
 */
public interface LoginService {

    /**
     * 判断电子邮箱是否注册过
     *
     * @param email 需要进行判断的电子邮箱
     * @return 响应结果对象
     */
    BaseResponseResult<Object> judgeEmailIsRegistered(String email);

    /**
     * 发送邮箱验证码。
     * 用户通过输入的邮箱获取登录时使用的验证码。
     *
     * @param mail 邮箱
     * @return 响应结果对象
     */
    BaseResponseResult<Object> sendMailCode(String mail);

    /**
     * 用户通过电子邮箱进行登录
     *
     * @param userLoginInfoVo 用户登录信息
     * @return 响应结果对象
     */
    BaseResponseResult<Object> loginByEmail(UserLoginInfoByMailVo userLoginInfoVo);

}
